Package de.yaams.extensions.rgssproject.map.nevent.command

Source Code of de.yaams.extensions.rgssproject.map.nevent.command.ChangeHeroNameGraphicCommand

/**
*
*/
package de.yaams.extensions.rgssproject.map.nevent.command;

import org.jruby.RubyString;

import de.yaams.extensions.jruby.RubyHelper;
import de.yaams.extensions.rgssproject.RTP;
import de.yaams.extensions.rgssproject.database.RGSS1Helper;
import de.yaams.extensions.rgssproject.database.RGSS1Helper.Type;
import de.yaams.extensions.rgssproject.database.RGSS1Voc;
import de.yaams.extensions.rgssproject.database.form.FormDBComboBox;
import de.yaams.extensions.rgssproject.database.form.FormGraphEle;
import de.yaams.extensions.rgssproject.database.form.RubyForm;
import de.yaams.extensions.rgssproject.map.nevent.core.CommandFormHelper;
import de.yaams.extensions.rgssproject.map.nevent.core.EventCode;
import de.yaams.extensions.rgssproject.map.nevent.core.EventCommand;
import de.yaams.maker.helper.gui.form.FormComboBox;
import de.yaams.maker.helper.gui.form.FormHelper;
import de.yaams.maker.helper.gui.form.core.FormBuilder;
import de.yaams.maker.helper.gui.form.core.FormHeader;
import de.yaams.maker.helper.language.I18N;
import de.yaams.maker.programm.project.Project;

/**
* @author abt
*
*/
public class ChangeHeroNameGraphicCommand extends EventCommand {

  protected final String[] types = new String[] { "Parameters", "Skills", "Equipment", "Name", "Class", "Graphic" };

  /*
   * (non-Javadoc)
   *
   * @see
   * de.yaams.extensions.map.nevent.core.EventCommand#getTitle(de.yaams.extensions
   * .map.nevent.core.EventCode)
   */
  @Override
  protected String getInternTitle(EventCode e) {

    // check parameters
    addString(e, 2, "");

    // build basic text
    String erg = "";

    // name
    if (e.getId() == 320) {
      erg = e.getParameters().get(1).toString();
    }

    // graphic
    else {
      erg = e.getParameters().get(1).toString() + " " + e.getParameters().get(2).toString();
    }

    // return
    // e.getObject().getInstanceVariable("@parameters").inspect().toString();
    return I18N.t("Setze {0} von {1} auf {2}", e.getId() == 320 ? "Name" : "Grafik",
        RGSS1Helper.get(e.getYecl().getProject(), Type.ACTOR).get(RubyHelper.toInt(e.getParameters().get(0))).getName(), erg);

  }

  /*
   * (non-Javadoc)
   *
   * @see de.yaams.extensions.map.nevent.core.EventCommand#getIcon()
   */
  @Override
  public String getIcon() {
    return "hero";
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * de.yaams.extensions.map.nevent.core.EventCommand#getIcon(de.yaams.extensions
   * .map.nevent.core.EventCode)
   */
  @Override
  public Object getIcon(EventCode e) {
    // skills
    if (e.getId() == 318) {
      return RGSS1Helper.getIcon(e.getYecl().getProject(), Type.SKILL, RubyHelper.toInt(e.getParameters().get(0)));
    }

    // equip
    if (e.getId() == 319) {
      if (RubyHelper.toInt(e.getParameters().get(2)) == 0) {
        if (RubyHelper.toInt(e.getParameters().get(1)) == 0) {
          return RGSS1Helper.getIcon(Type.WEAPON);
        } else {
          return RGSS1Helper.getIcon(Type.ARMOR);
        }

      } else if (RubyHelper.toInt(e.getParameters().get(1)) == 0) {
        return RGSS1Helper.getIcon(e.getYecl().getProject(), Type.WEAPON, RubyHelper.toInt(e.getParameters().get(2)));
      } else {
        return RGSS1Helper.getIcon(e.getYecl().getProject(), Type.ARMOR, RubyHelper.toInt(e.getParameters().get(2)));
      }

    }

    // hero
    return RGSS1Helper.getIcon(e.getYecl().getProject(), Type.ACTOR, RubyHelper.toInt(e.getParameters().get(0)));
  }

  /*
   * (non-Javadoc)
   *
   * @see de.yaams.extensions.map.nevent.core.EventCommand#getStartParameter()
   */
  @Override
  public String getStartParameter() {
    return "\"\",\"\"";
  }

  /*
   * (non-Javadoc)
   *
   * @see de.yaams.extensions.map.nevent.core.EventCommand#getName()
   */
  @Override
  public String getName() {
    return I18N.t("Helden Eigenschaften anpassen");
  }

  /*
   * (non-Javadoc)
   *
   * @see de.yaams.extensions.map.nevent.core.EventCommand#getGroup()
   */
  @Override
  public String getGroup() {
    return I18N.t("Party");
  }

  /*
   * (non-Javadoc)
   *
   * @see
   * de.yaams.extensions.map.nevent.core.EventCommand#buildPanel(de.yaams.
   * core.helper.gui.form.core.FormBuilder,
   * de.yaams.extensions.map.nevent.core.EventCode)
   */
  @Override
  public void buildPanel(FormBuilder f, final EventCode e) {
    // check parameters
    addString(e, 2, "");

    // build panel
    Project p = e.getYecl().getProject();

    FormComboBox c = CommandFormHelper.buildCodeIdChancer(e, I18N.t("Setze"), new String[] { "320", "322" }, new String[] { "Name",
        "Grafik" });

    f.getHeader("basic").setColumn(4);
    f.addElement("basic.type", c);

    // add hero basis
    f.addElement("basic.hero", new FormDBComboBox(RGSS1Helper.getName(Type.ACTOR), p, Type.ACTOR, e.getParameters(), 0, false));

    // add name 320
    f.addHeader("name", new FormHeader(RGSS1Helper.getName(Type.CLASS), RGSS1Helper.getIcon(Type.CLASS)).setSorting(5));
    f.addElement("name.name",
        FormHelper.setEnabeldWhenRightElementSelect(c, RubyForm.getString("Name", e.getParameters().get(2)), "320"));

    // add graphic 322
    f.addHeader("graphic", new FormHeader("Grafik", "ress").setSorting(7));
    f.addElement("graphic.graph", FormHelper.setEnabeldWhenRightElementSelect(c, new FormGraphEle("Character", p, RTP.CHARACTER,
        (RubyString) e.getParameters().get(1), e.getParameters(), 2), "322"));
    f.addElement("graphic.battler", FormHelper.setEnabeldWhenRightElementSelect(c, new FormGraphEle("Battler", p, RTP.BATTLERS,
        (RubyString) e.getParameters().get(3), e.getParameters(), 4), "322"));

    // inform
    c.informListeners();
  }

  /**
   * @param p
   * @return
   */
  protected String[] getParameters(Project p) {
    return new String[] { RGSS1Voc.hp(p), RGSS1Voc.sp(p), RGSS1Voc.str(p), RGSS1Voc.dex(p), RGSS1Voc.agi(p), RGSS1Voc.inte(p) };
  }
}
TOP

Related Classes of de.yaams.extensions.rgssproject.map.nevent.command.ChangeHeroNameGraphicCommand

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.